package com.gh.manager.clazz.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.gh.common.annotation.Excel;
import com.gh.common.core.domain.BaseEntity;

import java.util.Objects;

/**
 * 班级对象 gh_clazz
 * 
 * @author andas
 * @date 2024-12-26
 */
public class GhClazz extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 班级表主键 */
    private Long clazzId;

    /** 年级 */
    @Excel(name = "年级")
    private String grade;

    /** 班名（几班） */
    @Excel(name = "班名", readConverterExp = "几=班")
    private String name;

    /** 人数 */
    @Excel(name = "人数")
    private Long number;

    /** 班长 */
    @Excel(name = "班长")
    private String leader;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /**  */
    private String def1;

    /**  */
    private String def2;

    /**  */
    private String def3;

    /**  */
    private String def4;

    /**  */
    private String def5;

    public void setClazzId(Long clazzId) 
    {
        this.clazzId = clazzId;
    }

    public Long getClazzId() 
    {
        return clazzId;
    }
    public void setGrade(String grade) 
    {
        this.grade = grade;
    }

    public String getGrade() 
    {
        return grade;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setNumber(Long number) 
    {
        this.number = number;
    }

    public Long getNumber() 
    {
        return number;
    }
    public void setLeader(String leader) 
    {
        this.leader = leader;
    }

    public String getLeader() 
    {
        return leader;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setDef1(String def1) 
    {
        this.def1 = def1;
    }

    public String getDef1() 
    {
        return def1;
    }
    public void setDef2(String def2) 
    {
        this.def2 = def2;
    }

    public String getDef2() 
    {
        return def2;
    }
    public void setDef3(String def3) 
    {
        this.def3 = def3;
    }

    public String getDef3() 
    {
        return def3;
    }
    public void setDef4(String def4) 
    {
        this.def4 = def4;
    }

    public String getDef4() 
    {
        return def4;
    }
    public void setDef5(String def5) 
    {
        this.def5 = def5;
    }

    public String getDef5() 
    {
        return def5;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        GhClazz ghClazz = (GhClazz) o;
        return Objects.equals(clazzId, ghClazz.clazzId) && Objects.equals(grade, ghClazz.grade) && Objects.equals(name, ghClazz.name) && Objects.equals(number, ghClazz.number) && Objects.equals(leader, ghClazz.leader) && Objects.equals(phone, ghClazz.phone) && Objects.equals(def1, ghClazz.def1) && Objects.equals(def2, ghClazz.def2) && Objects.equals(def3, ghClazz.def3) && Objects.equals(def4, ghClazz.def4) && Objects.equals(def5, ghClazz.def5);
    }

    @Override
    public int hashCode() {
        return Objects.hash(clazzId, grade, name, number, leader, phone, def1, def2, def3, def4, def5);
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("clazzId", getClazzId())
            .append("grade", getGrade())
            .append("name", getName())
            .append("number", getNumber())
            .append("leader", getLeader())
            .append("phone", getPhone())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("def1", getDef1())
            .append("def2", getDef2())
            .append("def3", getDef3())
            .append("def4", getDef4())
            .append("def5", getDef5())
            .toString();
    }
}
